package es.udc.acs.utils;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;

public class PropertiesFile {

	private Properties _configuracion;             


	public PropertiesFile(String file) 
			throws FileNotFoundException, IOException {

		_configuracion = new Properties();
		
		// directorio actual del proyecto
		String curDir = System.getProperty("user.dir");
		
		cargarFichero(curDir+"/../config/"+file);

    }


    /**
     * Método que carga las claves del fichero si este existe 
     */
    private void cargarFichero(String file) 
    	   throws FileNotFoundException, IOException {

	     // Canal de lectura
	     FileInputStream inputFile;         
	 	 // Fichero de configuracion
	     File configFile = new File(file);   

         // Si existe el fichero
         if (configFile.exists()) {
	            inputFile = new FileInputStream(configFile);
	            _configuracion.load(inputFile);
	            inputFile.close();
         } else {
        	 System.out.println(
        			 "Properties:error:" +
        			 "no existe el fichero de configuracion \""+file+"\"");
         }

    }
    
    /**
     *  Si el valor no existe en el fichero devuelve nulo
     */
    public String getValue(String key) {
    	
        return _configuracion.getProperty(key);

    }
    
    public void setValue(String key, String value) {
    	
    	_configuracion.setProperty(key, value);
    }
}
